The present invention relates to, and more particularly, this invention relates to providing extent-level Reserve and Release for direct access storage device (DASD) volumes in a data storage system.
Many different operating systems may be used to manage storage devices. Some exemplary operating systems include IBM z/OS, Linux, Unix, MICROSOFT Windows, etc. Data is stored to physical data storage devices, such as DASDs, magnetic tape, etc., in one or more data sets. When data is stored to a DASD, such as a hard disk drive (HDD), solid state storage device (SSD), etc., the data set may be comprised of one or more extents on the DASD, while multiple data sets may be spread across one or more DASD volumes. Each data set may be of a fixed or variable length.
A storage controller coordinates access to various storage devices that are accessible to one or more host servers (mainframes). The host operating system issues a Reserve [Volume] command when it is required to serialize access while it performs updates to the file directory, such as a volume table of contents (VTOC), associated with this volume. The Reserve command limits access to the DASD volume (or directory) to the host system that issued the Reserve command. Only applications on the reserving host system are allowed to access a reserved volume. To protect the tile directory, the operating system locks the file directory (using an enqueue). This prevents user applications on the reserving system from accessing the directory white the operating system updates the directory.
No application running on any other attached host can access any data on the volume until a Release command is issued. The fact that the Reserve/Release only allows one application, or host operating system, at a time to access the DASD volume can clearly result in performance problems. Other applications that need access to other data on the DASD volume have to wait until a Release is performed. Even if the application that issued the Reserve is only reading the data from a single data set, no other data on the volume can be accessed.
In this configuration, multiple host operating systems can have access to a particular DASD volume or set of volumes. The operating system has software that will maintain a Reserve on a volume if other applications running on the system have an outstanding Reserve request for that volume. In effect, one host operating system is allowed to monopolize a DASD volume and “starve” all the other attached host operating systems and prevent them from accessing any data on the volume.